package priv.pattern.flyweightpattern;

/*
 * 作者：m鹏h
 * 时间；2024/6/5 20:33
 * 描述：
 **/
import priv.pattern.flyweightpattern.service.WebSite;
import priv.pattern.flyweightpattern.service.impl.ConcreteWebSite;

import java.util.HashMap;

public class WebSiteFactory {
 /*
  * 网站的集合
  * @author M鹏H
  * date 2024/6/5
  **/
 private HashMap<String, ConcreteWebSite> pool = new HashMap<>();
 /*
  * 根据网站的类型，返回一个网站, 如果没有就创建一个网站，并放入到池中,并返回
  * @author M鹏H
  * date 2024/6/5
  **/
 public WebSite getWebSiteCategory(String type) {
  if(!pool.containsKey(type)) {
   pool.put(type, new ConcreteWebSite(type));
  }
  return pool.get(type);
 }


 /*
  * 获取网站分类的总数 (池中有多少个网站类型)
  * @author M鹏H
  * date 2024/6/5
  **/
 public int getWebSiteCount() {
  return pool.size();
 }
}
